export enum EActionType {
  // 页面曝光
  PAGE = 'PAGE',
  // 事件埋点
  EVENT = 'EVENT',
  // 区域曝光
  VIEW = 'VIEW',
  // 时长埋点
  DURATION = 'DURATION',
  // 区域曝光的时长埋点
  DURATION_VIEW = 'DURATION_VIEW',
  // 其他埋点类型
  OTHER = 'OTHER'
}

export interface DeviceInfo {
  //网络类型: 4g,3g,5g,wifi
  netType: string
  clientWidth: number
  clientHeight: number
  // 像素密度倍率(计算屏幕实际宽高 可使用此参数： 例 height = clientHeight * radio)
  ratio: number
}

export interface ITrackBaseParam {
  trackId?: string
  custom?: string | { [prop: string]: string | number | boolean }
  [key: string]: any
}

// bdc 项目用户信息类型
export interface NuxtUser {
  id: string
  nickName?: string // bdc 项目用户信息接口没有返回用户姓名
  avatar?: string // 头像
  vipNum?: string // vip级数
  email?: string // 邮箱
  areaCode?: string // 实名地区
  regAreaCode?: string // 注册地区不会因为实名认证改变
  mobile?: string // 手机号
  freeAmount?: string // BDC 可用余额
}

export interface NuxtRoute {
  path?: string //
  fullPath?: string //
  hash: string
  href?: string
  name?: string //
  params?: string //
  query?: string //
  componentName?: string // 页面,组件的 name
  pageName?: string // 页面名称
}

// nuxt 埋点对象类型
export interface NuxtStatistics {
  user: NuxtUser
  routes?: NuxtRoute
}
